package com.cjw.service.resourceManage;

import com.cjw.pojo.dto.database.PageDTO;
import com.cjw.pojo.dto.resourceManage.ResourceListDTO;
import com.cjw.pojo.dto.resourceManage.RoleListDTO;
import com.cjw.pojo.dto.resourceManage.RoleSimpleDTO;
import com.cjw.pojo.query.PageQuery;
import com.cjw.pojo.query.resourceManage.AddRole;
import com.cjw.pojo.query.resourceManage.RoleQuery;
import com.cjw.pojo.query.resourceManage.UpdateRole;

import java.util.List;

/**
 * @author : cjw
 * @date: : 2022/3/26 16:32
 * @description : RoleService
 */
public interface RoleManageService {
    /**
     * 添加角色
     * @param addRole
     * @return
     */
    Boolean add(AddRole addRole);

    /**
     * 删除角色
     * @param id
     * @return
     */
    Boolean delete(Long id);

    /**
     * 修改角色
     * @param updateRole
     * @return
     */
    Boolean update(UpdateRole updateRole);

    /**
     * 分页获取全部角色列表
     * @param roleQuery
     * @return
     */
    PageDTO<List<RoleListDTO>> list(RoleQuery roleQuery);

    /**
     * 获取全部角色
     * @return
     */
    List<RoleSimpleDTO> all();

    /**
     * 获取全部资源
     * @return
     */
    List<ResourceListDTO> resourceList();

    /**
     * 获取资源列表通过角色id
     * @param id
     * @return
     */
    AddRole resourceByRoleId(Long id);

    /**
     * 获取角色
     * @param id
     * @return
     */
    String getRole(Long id);
}
